Skip to main content

基础功能开发

主要产出

  • 基础功能的接口,并发布到测试机

主要内容

  • 登录功能
  • 用户信息接口
  • 作品接口
  • 模板接口

注意事项

  • 发布相关的接口和渠道接口,会在下一周讲解
  • 发送短信功能还没有,先模拟
  • 简单代码不会从0开始写
  • 注意代码规范的流程

登录功能

回顾 JWT 的登录校验过程

短信验证过程

初次获取验证码

  • request -输入手机号,请求短信验证码

  • server -生成4位随机数,缓存2min

  • res

    • 发短信验证码
    • 返回给前端 { errno: 0 }

再次获取验证码

  • request -输入手机号,请求短信验证码

  • server -检查缓存,无则生成,并再次缓存

  • res

    • 有缓存,则返回错误:不能频繁获取
    • 发送短信验证码,并返回给前端 { errno: 0 }

登录验证

  • request -手机号、验证码,请求登录验证

  • server - 匹配缓存

  • res

    • 匹配成功,则验证通过
    • 匹配失败,则验证不通过

img

重点考虑

费用

  • 缓存,禁止频繁发送
  • 短信服务的提示和报警(后面会讲)

用户体验

  • 短信发送失败,不会缓存,可以立马重新生成验证码

稳定性

  • 如果server缓存失败,那就允许用户重复调用。情况较少,没关系
  • 短信服务挂掉,报警(后面会讲)

注意事项

  • 发送短信,暂时模拟
  • 可以写个文档,虽然已经经过了技术方案设计,但有些写在开发前如果感觉复杂,可以写个设计文档再评审一下。及时发现问题,及时沟通。

用户信息接口

研发过程

研发规范的细节,会在课程最后总结,先实践起来。

  • 拉新分支 feature-xxx fix一xxx hotfix一xxx
  • 修改代码
  • commit ,参考 .cz-config.js
  • 往dev分支提交pr Pull Request (gitlab 中是mr Merge Request)
  • 代码走查
  • 合并代码到dev
  • 等待发布上线

接口

  • 获取手机短信验证码
  • 登录(包含注册)
  • 获取用户信息
  • 修改用户信息

代码演示

  • routes/users.js
  • controller/users/service/users.js
  • cache/users/
  • __test__/apis/users.js 接口测试

测试

  • npm run test:local
  • 使用postman手动测试

作品接口

接口

  • 创建空白作品
  • 复制作品((通过模板创建)
  • 删除作品
  • 恢复作品
  • 转赠作品
  • 我的作品列表(搜索,分页)
  • 我的回收站列表(搜索,分页)
  • 查询单个作品信息
  • 保存作品

代码演示

  • routes/works.js
  • controller/works/
  • service/works.js
  • _test__/apis/works. js

测试

  • npm run test:local
  • 使用 postman 手动测试

模板接口

接口

  • 首页推荐模板列表(搜索,分页) —— 不需要登录校验
  • 获取单个模板信息——不需要登录校验
  • 我的模板列表(搜索,分页)

代码演示

  • routes/templates.js
  • controller/works/findTemplate
  • cache/works/templates
  • _test_/apis/template. js

测试

  • npm run test:local
  • 使用 postman 手动测试

若有收获,就点个赞吧